package com.alibaba.citrus.ots.platform.enhance.api;

import com.alibaba.citrus.ots.platform.enhance.dto.api.request.*;
import com.alibaba.citrus.ots.platform.enhance.sdo.OrganizationRelationSDO;
import com.alibaba.citrus.ots.platform.enhance.sdo.OrganizationSDO;
import com.alibaba.cz.base.tool.result.Result;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;

/**
 * @author zhoubc
 * @description: TODO
 * @date 2021/9/3 12:20
 */
@MeshFlowService(apps = {"bc_ots"}, name = "organizationWriteService")
public interface OrganizationWriteService {

    /**
     * 创建组织
     * @param request
     * @return
     */
    Result<String> createOrganization(OrganizationSDO request);

    /**
     * 编辑组织
     * @param request
     * @return
     */
    Result<Boolean> editOrganization(OrganizationSDO request);

    /**
     * 新增组织关联信息
     * @param request
     * @return
     */
    Result<Boolean> addOrganizationRelation(OrganizationRelationSDO request);

    /**
     * 启用组织关联
     * @param request
     * @return
     */
    Result<Boolean> enableOrganizationRelation(OperateOrganizationRelationRequest request);

    /**
     * 禁用组织关联
     * @param request
     * @return
     */
    Result<Boolean> disableOrganizationRelation(OperateOrganizationRelationRequest request);

}
